1. Field of the Invention
This invention relates to computer hardware and software, and more specifically to a programmable computer card storing one ore more dedicated software applications.
2. Related Art
Using conventional computer hardware and software, a user accesses a software application on a local computer by executing the application from the local hard drive or from a network server while accessing the computer""s main memory. However, there are many disadvantages with both arrangements. When executing an application locally, the application uses the local computer""s resources; e.g., the processor(s) and memory. Therefore, the computer resources are not available to perform other tasks. When executing an application remotely via a network server, the local computer""s resources may be freed up and available for other use; however, the user typically experiences a degradation of performance speed.
Therefore, there is a need for a means by which a user may execute an application locally that frees up the resources of the local computer, thereby making the resources available for multiprocessing or multitasking. There is also a need for a means by which a user may access an application remotely such that execution speed is not diminished.
Many software applications are used in connection with very sensitive data such that the application software must be protected from hackers as well as from viruses. Therefore, there is also a need for a means by which a user can execute an application locally that not only frees up local resources, but also is free from viruses and others tampering.
The present invention solves the current problems associated with the execution of conventional software applications through the use of a programmable dedicated application card (PDAC). A PDAC is a computer card that comprises one or more EPROMs for storing a software application, an EEPROM storing a Host Control Program (HCP) for interfacing with the host computer system, an appropriate amount of SRAM for executing and shadowing the software application, a small amount of DRAM for use as a cache for user-data during execution of the software application, and a reduced instruction set code (RISC) processor that accesses the SRAM to execute the software application and send the results to the user via the host computer system. The PDAC is simply xe2x80x9cplugged intoxe2x80x9d a host computer system such that when desired, the user accesses and executes the software application directly from the PDAC. The present invention also allows access via a network to remote PDACs of other host computer systems.
There are many advantages associated with using a PDAC. First, there is an improvement to execution speed by running a software application on a RISC processor. Second, host computer resources are freed up for other tasks, therefore increasing performance of the host machine. For example, because the PDAC processor is executing and processing the software application, the host computer""s processor and memory is available for assisting with input/output (I/O) tasks while still having power to spare. Therefore, the use of a PDAC increases the ability of the host computer system to handle multiprocessing and multitasking operations. In addition, when using multiple PDACS, wherein each PDAC is programmed with a different software application, e.g., a spreadsheet, a database, and a word processor, each application is executed on a dedicated processor, allowing the applications to execute in parallel with each other as well as in parallel with the host computer""s main operating system. Furthermore, the amount of storage needed on the host computer system is reduced because the applications are stored on the PDACs.
Other advantages of the PDAC of the present invention include the software application""s immunity to viruses. Because a software application is stored in EPROM, the application cannot be tampered with or otherwise tainted. Therefore, the application is very reliable. In addition, it is extremely easy and simple to upgrade any software application. Upon a new release, a user only has to remove the existing PDAC containing the old version of software and replace it with a new PDAC containing the new software upgrade. This means for upgrading is very helpful for those computer systems that are isolated due to high security precautions.
The advantages associated with a PDAC of the present invention change according to the installation configuration; that is, depending on whether the PDAC is incorporated into a host computer system only or whether the host computer system incorporating the PDAC is part of a network environment. If the host computer system is not connected to a network, the use of a PDAC functions as a hardware accelerator and enhances the capabilities of the host computer system.
When operating in a network environment, the use of remote PDACs results in additional advantages. For example, a host computer system is able to draw on the capabilities of remote processors, thereby increasing its processing power (as long as a cache coherency mechanism is in place to ensure data integrity). The result is a distributed computing system having greater processing power than any single node on the network.